FINS Core Banking Accounts System API - Implementation Template
Data mappings
This document provides information generated from the DataWeave scripts included in the project, such as function definitions, variable definitions, and data mapping tables.
Module | Description |
---|---|
accounts-get-response | Query Financial Account Mapping from Core Banking System This dwl file is used by endpoints get:/accounts/(accountid) & get:/accounts |
accounts-patch-payload | Create Account Mapping for Core Banking System Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
accounts-post-payload | Create Account Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert. |
cards-get-response | Query Financial Cards Mapping from Core Banking System This dwl file is used by endpoints get:/accounts/(accountId)/cards, get:/cards/(cardId) & get:/cards |
cards-patch-payload | Create Card Mapping for Core Banking System Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
cards-post-payload | Create Cards Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert. |
get-externalids-response | ExternalIds Query Mapping for Core Banking System |
transactions-get-response | Get Transactions Mapping for Core Banking System. Maps Transaction from DB to Banking Spec JSON . This dwl file is used by endpoints get:/accounts/(accountid)/transactions, get:/transactions/(transactionId) & get:/transactions |
transactions-patch-payload-pending-transaction | Update Pending Transactions Mapping for Core Banking System Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table. The fields in both BankingSpec and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
transactions-patch-payload-posted-transaction | Update Posted Transactions Mapping for Core Banking System Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table. The fields in both BankingSpec and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload. |
transactions-post-payload | Create Transactions Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert. |
transactions-update-transactions |
accounts-get-response
Query Financial Account Mapping from Core Banking System
This dwl file is used by endpoints get:/accounts/(accountid) & get:/accounts
Source:
./src/main/resources/dwl/accounts-get-response.dwl
Mapping Tables
Maps DB Fields to Banking Spec Financial Account to JSON
DB Field used by the stored procedure | Banking Spec | Description | |
---|---|---|---|
ID | id | flag to allow customer to return a Product | |
NAME | name | descriptive name of the account | |
ACCOUNT_NUMBER | accountNumber | account number | |
ACCOUNT_TYPE | accountType | discriminator property set to the specific type of account by name (e.g. | CheckingAccount) |
ACCOUNT_STATUS | accountStatus | flag to preorder the Product | |
ACCOUNT_BALANCE | accountBalance | current credit (positive) or debit (negative) balance of the account | |
AVAILABLE_BALANCE | availableBalance | amount of funds (or credit) available for withdrawal | |
ACCOUNT_CURRENCY | accountCurrency | customer-provided nickname for the account | |
ACCOUNT_LABEL | accountLabel | label for the Account | |
INTEREST_RATE | interestRate | interest rate for the amount | |
TAX_IDENTIFICATION_NUMBER | taxIdentificationNumber | Tax Identification Number associated with the account | |
OPENED_DATE | openedDate | date of opening the account | |
CLOSED_DATE | closedDate | date of Closing the account | |
LAST_STATEMENT_DATE | lastStatementDate | date the last statement was produced for this account | |
CREDIT_LIMIT | creditLimit | credit limit for the Card | |
LOAN_TYPE | loanType | loan type associated with the account | |
ORIGINAL_LOAN_AMOUNT | originalLoanAmount | loan amount of the account | |
LOAN_DURATION_MONTHS | loanDurationMonths | loan duration for repayment | |
MINIMUM_PAYMENT | minimumPayment | minimum payment to be made to the account | |
PRINCIPAL_BALANCE | principalBalance | principal balance associated with the loan account | |
DEPOSIT_ACCOUNT_TYPE | depositAccountType | deposit account | |
ROUTING_NUMBER | routingNumber | Branch or routing number for the account | |
OVERDRAFT_LIMIT | overdraftLimit | Indicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed | |
DAILY_WITHDRAWAL_LIMIT | dailyWithdrawalLimit | Maximum amount that can be withdrawn directly from this account per day | |
LAST_DEPOSIT_DATE | lastDepositDate | Date the last deposit was made on | |
LAST_WITHDRAWAL_DATE | lastWithdrawalDate | Date the last withdrawal was made on | |
MAXIMUM_MONTHLY_WITHDRAWALS | maximumMonthlyWithdrawals | Maximum amount that can be withdrawn directly from this account per month | |
MINIMUM_BALANCE | minimumBalance | The minimum amount that must be held in a Money Market account | |
MONTHLY_WITHDRAWAL_LIMIT | monthlyWithdrawalLimit | The maximum number of withdrawals allowed per month | |
CUSTOMER_ID | primaryAccountOwner | References the primary owner of this account by their global identifier | |
CUSTOMER_ID | secondaryAccountOwners | References additional owner(s) of this account by their global identifiers | |
LAST_TRANSACTION_DATE | lastTransactionDate | Date a transaction was last recorded for this account | |
LAST_TRANSACTION_TYPE | lastTransactionType | References the type of transaction last recorded for this account | |
LAST_TRANSACTION_AMOUNT | lastTransactionAmount | Amount of the last transaction recorded for this account | |
LAST_PAYMENT_DATE | lastPaymentDate | Date the last deposit was made on | |
LAST_PAYMENT_AMOUNT | lastPaymentAmount | Amount of the last payment made | |
CREATED_BY | auditInfo.createdBy | Identifies the system or user which created the entity | |
CREATED_DATE | auditInfo.createdDate | Timestamp of when the entity was created - default as current timestamp | |
UPDATED_BY | auditInfo.updatedBy | Identifies the system or user which last updated the entity | |
UPDATED_DATE | auditInfo.updatedDate | Timestamp of when the entity was last updated | |
IS_DELETED | auditInfo.isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
accounts-patch-payload
Create Account Mapping for Core Banking System
Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/accounts-patch-payload.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Account record in Core Banking system
accounts-post-payload
Create Account Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
Source:
./src/main/resources/dwl/accounts-post-payload.dwl
Mapping Tables
Maps Banking Spec Financial Account JSON which is used by stored procedure - sp_ContactPointAddress_Create or sp_ContactPointAddress_Update
Banking Spec field | DB Field used in stored procedure | Description | |
---|---|---|---|
id | ID | flag to allow customer to return a Product | |
name | NAME | descriptive name of the account | |
accountNumber | ACCOUNT_NUMBER | account number | |
accountType | ACCOUNT_TYPE | discriminator property set to the specific type of account by name (e.g. | CheckingAccount) |
accountStatus | ACCOUNT_STATUS | flag to preorder the Product | |
accountBalance | ACCOUNT_BALANCE | current credit (positive) or debit (negative) balance of the account | |
availableBalance | AVAILABLE_BALANCE | amount of funds (or credit) available for withdrawal | |
accountCurrency | ACCOUNT_CURRENCY | customer-provided nickname for the account | |
accountLabel | ACCOUNT_LABEL | label for the Account | |
interestRate | INTEREST_RATE | interest rate for the amount | |
taxIdentificationNumber | TAX_IDENTIFICATION_NUMBER | Tax Identification Number assoicated with the account | |
notes | NOTES | free-form notes recorded for this account | |
creditLimit | CREDIT_LIMIT | credit limit for the Card | |
loanType | LOAN_TYPE | loan type associated with the account | |
originalLoanAmount | ORIGINAL_LOAN_AMOUNT | loan amount of the account | |
loanDurationMonths | LOAN_DURATION_MONTHS | loan duration for repayment | |
minimumPayment | MINIMUM_PAYMENT | minimum payment to be made to the account | |
principalBalance | PRINCIPAL_BALANCE | principal balance associated with the loan account | |
depositAccountType | DEPOSIT_ACCOUNT_TYPE | deposit account | |
routingNumber | ROUTING_NUMBER | Branch or routing number for the account | |
overdraftLimit | OVERDRAFT_LIMIT | Indicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed | |
lastTransactionDate | LAST_TRANSACTION_DATE | Date a transaction was last recorded for this account | |
lastTransactionType | LAST_TRANSACTION_TYPE | References the type of transaction last recorded for this account | |
lastTransactionAmount | LAST_TRANSACTION_AMOUNT | Amount of the last transaction recorded for this account | |
lastPaymentDate | LAST_PAYMENT_DATE | Date the last deposit was made on | |
lastPaymentAmount | LAST_PAYMENT_AMOUNT | Amount of the last payment made | |
dailyWithdrawalLimit | DAILY_WITHDRAWAL_LIMIT | Maximum amount that can be withdrawn directly from this account per day | |
primaryAccountOwner | CUSTOMER_ID | References the primary owner of this account by their global identifier | |
secondaryAccountOwners | CUSTOMER_ID | References additional owner(s) of this account by their global identifiers | |
maximumMonthlyWithdrawals | MONTHLY_WITHDRAWAL_LIMIT | Maximum amount that can be withdrawn directly from this account per month | |
minimumBalance | MINIMUM_BALANCE | The minimum amount that must be held in a Money Market account | |
monthlyWithdrawalLimit | MONTHLY_WITHDRAWAL_LIMIT | The maximum number of withdrawals allowed per month | |
auditInfo.createdBy | CREATED_BY | Identifies the system or user which created the entity | |
auditInfo.createdDate | CREATED_DATETimestamp of when the entity was created - default as current timestamp | ||
auditInfo.updatedBy | UPDATED_BY | Identifies the system or user which last updated the entity | |
auditInfo.updatedDate | UPDATED_DATE | Timestamp of when the entity was last updated | |
auditInfo.isDeleted | isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
cards-get-response
Query Financial Cards Mapping from Core Banking System
This dwl file is used by endpoints get:/accounts/(accountId)/cards, get:/cards/(cardId) & get:/cards
Source:
./src/main/resources/dwl/cards-get-response.dwl
Mapping Tables
Maps DB fields to FinancialCards Banking spec JSON
Core Banking DB Field | Banking Spec Field | Description | |||
---|---|---|---|---|---|
ID | id | credit card id | |||
NAME | name | name of credit card | |||
CARD_TYPE | cardType | type of card - credit | debit | ||
CARD_HOLDER_NAME | cardHolderName | name of the person holding the credit card | |||
CARD_NUMBER | cardNumber | 16 digit number displayed on the credit card. | |||
CARD_PIN | cardPin | pin of the debit card | |||
CARD_STATUS | cardStatus | status as active | inactive | locked | |
CARD_STATUS_CHANGED_DATE | cardStatusChangedDate | Date and time of the last change in card status | |||
EXPIRY_MONTH | expiryMonth | expiry month of the credit card | |||
EXPIRY_YEAR | expiryYear | expiry year of the credit card | |||
REPLACED_CARD_ID | replacedCardId | Identifier of the card this one replaces | |||
REPLACED_CARD_REASON | replacedCardReason | Indicates why this card was issued in place of a previous one | |||
MASKED_NUMBER | maskedNumber | masked number on the credit card | |||
CARD_TOKEN | cardToken | token issued for the credit card | |||
NUMBER_LAST_DIGITS | numberLastDigits | last 4 digits on the card | |||
SECURITY_CODE | securityCode | security code on the credit card | |||
CREDIT_CARD_TYPE | creditCardType | credit card type AMEX | DISCOVER | MASTERCARD | VISA |
FINANCIAL_ACCOUNT_ID | accountId | account Id associated with credit card | |||
CARD_OWNER_ID | cardOwnerId | Identifier of the individual this card is owned by | |||
CARD_OWNERSHIP_TYPE | cardOwnershipType | authorized | other | primary | |
CARD_CONTROLS | cardControls | List of controls applied to this card (e.g. | ATM only) | ||
DAILY_PURCHASE_LIMIT | dailyPurchaseLimit | Maximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit | |||
CREATED_DATE | auditInfo.createdDate | Timestamp of when the entity was created - default as current timestamp | |||
CREATED_BY | auditInfo.createdBy | Identifies the system or user which created the entity | |||
UPDATED_BY | auditInfo.updatedBy | Identifies the system or user which last updated the entity | |||
UPDATED_DATE | auditInfo.updatedDate | Timestamp of when the entity was last updated | |||
IS_DELETED | auditInfo.isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
cards-patch-payload
Create Card Mapping for Core Banking System
Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/cards-patch-payload.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Card record in Core Banking system
cards-post-payload
Create Cards Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert.
Source:
./src/main/resources/dwl/cards-post-payload.dwl
Mapping Tables
Maps Banking Spec Financial Cards to JSON which is used by stored procedure - sp_FinancialCard_Upsert
Banking Spec Field | Core Banking DB Field | Description | |||
---|---|---|---|---|---|
id | ID | credit card id | |||
name | NAME | name of credit card | |||
cardType | CARD_TYPE | type of card - credit | debit | ||
cardHolderName | CARD_HOLDER_NAME | name of the person holding the credit card | |||
cardNumber | CARD_NUMBER | 16 digit number displayed on the credit card. | |||
cardPin | CARD_PIN | pin of the debit card | |||
cardStatus | CARD_STATUS | status as active | inactive | locked | |
cardStatusChangedDate | CARD_STATUS_CHANGED_DATE | Date and time of the last change in card status | |||
expiryMonth | EXPIRY_MONTH | expiry month of the credit card | |||
expiryYear | EXPIRY_YEAR | expiry year of the credit card | |||
replacedCardId | REPLACED_CARD_ID | Identifier of the card this one replaces | |||
replacedCardReason | REPLACED_CARD_REASON | Indicates why this card was issued in place of a previous one | |||
maskedNumber | MASKED_NUMBER | masked number on the credit card | |||
cardToken | CARD_TOKEN | token issued for the credit card | |||
numberLastDigits | NUMBER_LAST_DIGITS | last 4 digits on the card | |||
securityCode | SECURITY_CODE | security code on the credit card | |||
creditCardType | CREDIT_CARD_TYPE | credit card type AMEX | DISCOVER | MASTERCARD | VISA |
accountId | FINANCIAL_ACCOUNT_ID | account Id associated with credit card | |||
cardOwnerId | CARD_OWNER_ID | Identifier of the individual this card is owned by | |||
cardOwnershipType | CARD_OWNERSHIP_TYPE | authorized | other | primary | |
cardControls | CARD_CONTROLS | List of controls applied to this card (e.g. | ATM only) | ||
dailyPurchaseLimit | DAILY_PURCHASE_LIMIT | Maximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit | |||
auditInfo.createdBy | CREATED_BY | Identifies the system or user which created the entity | |||
auditInfo.createdDate | CREATED_DATETimestamp of when the entity was created - default as current timestamp | ||||
auditInfo.updatedBy | UPDATED_BY | Identifies the system or user which last updated the entity | |||
auditInfo.updatedDate | UPDATED_DATE | Timestamp of when the entity was last updated | |||
auditInfo.isDeleted | isDeleted | Indicates whether or not the entity has been soft-deleted - default as false |
get-externalids-response
ExternalIds Query Mapping for Core Banking System
Source:
./src/main/resources/dwl/get-externalids-response.dwl
Variables
var outputPayload
outputPayload variable is the maps the result of select query on Core Banking EXTERNAL_ID table.
transactions-get-response
Get Transactions Mapping for Core Banking System.
Maps Transaction from DB to Banking Spec JSON .
This dwl file is used by endpoints get:/accounts/(accountid)/transactions, get:/transactions/(transactionId) & get:/transactions
Source:
./src/main/resources/dwl/transactions-get-response.dwl
transactions-patch-payload-pending-transaction
Update Pending Transactions Mapping for Core Banking System
Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table.
The fields in both BankingSpec and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/transactions-patch-payload-pending-transaction.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Transaction record in Core Banking system
transactions-patch-payload-posted-transaction
Update Posted Transactions Mapping for Core Banking System
Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table.
The fields in both BankingSpec and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.
Source:
./src/main/resources/dwl/transactions-patch-payload-posted-transaction.dwl
Variables
var payloadRecordfromDB
payloadRecordfromDB is the existing Financial Transaction record in Core Banking system
transactions-post-payload
Create Transactions Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
Source:
./src/main/resources/dwl/transactions-post-payload.dwl
transactions-update-transactions
Source:
./src/main/resources/dwl/transactions-update-transactions.dwl
Variables
var s
Maps DB Fields to FinancialTransaction Banking spec JSON
Mapping Tables
Maps DB Fields to FinancialTransaction Banking spec JSON
Core Banking DB Field | Banking Spec Field | Description | |||
---|---|---|---|---|---|
ID | id | transaction id | |||
NAME | name | name related to the transaction | |||
DESCRIPTION | description | description about the transaction | |||
TRANSACTION_AMOUNT | transactionAmount | amount for the transaction | |||
TRANSACTION_TYPE | transactionType | discriminator property set to the specific type of transaction by name (e.g. | CreditTransaction) | ||
TRANSACTION_STATUS | transactionStatus | transaction status such as CLEARED | HOLD | PENDING | POSTED |
TRANSACTION_DATE | transactionDate | date on which this transaction was recorded in the system | |||
ACCOUNT_BALANCE | accountCurrentBalance | account balance in financial account | |||
AVAILABLE_BALANCE | accountAvailableBalance | available balance in financial account | |||
POSTED_DATE | postedDate | the date on which transaction actually reflected in the account |